define(['jquery','api','user','util'],function($,api,user,util){
	var vm,
	   startidHis=0,
	   flowType={
		   	'1':'入金',
			'2':'出金',
			'3':'盈亏',
			'4':'支付递延费',
			'5':'收取递延费',
			'6':'支付手续费',
			'7':'收取手续费',
			'8':'支付交割款',
			'9':'收取交割款 ',
			'A':'支付交割费',
			'B':'收取交割费 ',
			'C':'手续费',
			'D':'手续费',
			'E':'收取利息',
			'F':'支付利息',
			'G':'红冲',
			'H':'蓝补',
			'I':'银行对账调账入金',
			'J':'银行对账调账出金',
			'K':'强平冲正',
			'L':'无负债结算盈亏',
			'M':'冲正出金',
			'N':'盈亏结转',
			'O':'无负债结算盈亏结转',
			'P':'手续费', 
			'Q':'手续费'
	   },
	   controller = {
	   init:function(id){
	   	   if(!user.checkLogin())return;
		   api.initFooter(3);
		   api.setTitle('收支明细');
		   if(!vm){
		     this.render();
		   }else{
		     vm.show=true;
		     // 加载今天
			   this.loadToday();
		   }
	   },
	   render:function(){
	   	   $('#pages').append('<div id="fundFlow"></div>');
	       require(['text!pages/fund/flow.html','Vue'],function(tpl,Vue){
	            vm=new Vue({
	               el:'#fundFlow',
	               data:{
	               	  show:true,
	               	  rows:[],
	               	  loading:true,
	               	  showMore:false,
                          rowsHistory:[], // 历史列表数据容器
	               	  rowsToday:[], // 今天列表数据容器
                        isToday:true, // tab 是否为今天，否则历史
                        showMore:{ // 显示更多
                              today:false,
                              history:false
                        }
	               },
	               filters:{
	                  getType:function(n){
						   var key=String.fromCharCode(n),
						       str=flowType[key];
						   return str?str:n;
					  },
					  moneyFormat:function(v){
					       return util.priceFormat(2,v);
					  }
	               },
	               methods:{
                        switchTab:function(t){
                            this.isToday=t;
                        },
                        loadToday:function(){
                        	controller.loadToday();
                        },
                        loadHistory:function(){
                        	controller.loadHistory();
                        }
	               },
	               template:tpl
	            });
	            // 加载今天、历史数据
			   vm.loadToday();
			   vm.loadHistory();
	       })
	   },
	   loadToday:function(){
	   		vm.loading=true;
            var rows;
	   		api.fundFlow({},function(rs){
                vm.loading=false;
                if(rs.retcode=='0' && rs.data){
                   rows=rs.data;
                   vm.rowsToday=rows;
                }
           });
	   },
	   loadHistory:function(){
	   		this.loading=true;
            var rowsHis;
            api.fundflowHistory({id:startidHis,count:20,sorttype:49},function(rs){
                 vm.loading=false;
                 if(rs.retcode=='0' && rs.data){
                    rowsHis=rs.data;
                    vm.rowsHistory=vm.rowsHistory.length?vm.rowsHistory.concat(rowsHis):rowsHis;
                    startidHis+=rowsHis.length;
                    if(rowsHis.length){
                       vm.showMore.history=true;
                    }else{
                       vm.showMore.history=false;
                    }
                 }
            });
	   },
	   onRouteChange:function(){
	       if(vm)vm.show=false;
	   }
	};
    return controller;
})